package com.kaoshi.common.exception;

import com.kaoshi.common.config.Result;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;

public class GlobalExceptionHandler {

    @ExceptionHandler(Exception.class) //指定哪些异常会执行下面的方法
    @ResponseBody  //返回json数据,@RestController=@Controller+@ResponseBody
    public Result error(Exception e) {
        e.printStackTrace();
        return Result.fail("你的程序报异常了，我是全局异常");
    }

    //自定义异常处理
    @ExceptionHandler(SpyxException.class) //当程序抛出SpyxException异常时，由该方法进行处理
    @ResponseBody
    public Result error(SpyxException exception) {
        return Result.build(null,exception.getCode(),exception.getMessage());
    }
}

